home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Aliases.h
-
- Copyright: © 1984-1993 by Apple Computer, Inc., all rights reserved.
-
- WARNING
- This file was auto generated by the interfacer tool. Modifications
- must be made to the master file.
-
- */
-
- #ifndef __ALIASES__
- #define __ALIASES__
-
- #ifndef __TYPES__
- #include <Types.h>
- /* #include <ConditionalMacros.h> */
- /* #include <MixedMode.h> */
- /* #include <Traps.h> */
- #endif
-
- #ifndef __APPLETALK__
- #include <AppleTalk.h>
- /* #include <OSUtils.h> */
- #endif
-
- #ifndef __FILES__
- #include <Files.h>
- /* #include <SegLoad.h> */
- #endif
-
- #define rAliasType 'alis'
-
- enum {
- /* define alias resolution action rules mask */
- kARMMountVol = 0x00000001, /* mount the volume automatically */
- kARMNoUI = 0x00000002, /* no user interface allowed during resolution */
- kARMMultVols = 0x00000008, /* search on multiple volumes */
- kARMSearch = 0x00000100, /* search quickly */
- kARMSearchMore = 0x00000200, /* search further */
- kARMSearchRelFirst = 0x00000400, /* search target on a relative path first */
- /* define alias record information types */
- asiZoneName = -3, /* get zone name */
- asiServerName = -2, /* get server name */
- asiVolumeName = -1, /* get volume name */
- asiAliasName = 0, /* get aliased file/folder/volume name */
- asiParentName = 1 /* get parent folder name */
- };
-
-
- /* define the alias record that will be the blackbox for the caller */
-
- #if defined(powerc) || defined (__powerc)
- #pragma options align=mac68k
- #endif
- struct AliasRecord {
- OSType userType; /* appl stored type like creator type */
- unsigned short aliasSize; /* alias record size in bytes, for appl usage */
- };
- #if defined(powerc) || defined(__powerc)
- #pragma options align=reset
- #endif
-
- typedef struct AliasRecord AliasRecord;
-
- typedef AliasRecord *AliasPtr, **AliasHandle;
-
-
- /* alias record information type */
-
- typedef short AliasInfoType;
-
- typedef pascal Boolean (*MatchAliasFilterProcPtr)(CInfoPBPtr cpbPtr, Boolean *quitFlag, Ptr myDataPtr);
-
- enum {
- uppMatchAliasFilterProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(CInfoPBPtr)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean*)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(Ptr)))
- };
-
- #if USESROUTINEDESCRIPTORS
- typedef UniversalProcPtr MatchAliasFilterUPP;
-
- #define CallMatchAliasFilterProc(userRoutine, cpbPtr, quitFlag, myDataPtr) \
- CallUniversalProc((UniversalProcPtr)(userRoutine), uppMatchAliasFilterProcInfo, (cpbPtr), (quitFlag), (myDataPtr))
- #define NewMatchAliasFilterProc(userRoutine) \
- (MatchAliasFilterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppMatchAliasFilterProcInfo, GetCurrentISA())
- #else
- typedef MatchAliasFilterProcPtr MatchAliasFilterUPP;
-
- #define CallMatchAliasFilterProc(userRoutine, cpbPtr, quitFlag, myDataPtr) \
- (*(userRoutine))((cpbPtr), (quitFlag), (myDataPtr))
- #define NewMatchAliasFilterProc(userRoutine) \
- (MatchAliasFilterUPP)(userRoutine)
- #endif
-
- typedef MatchAliasFilterProcPtr AliasFilterProcPtr;
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-
- /* create a new alias between fromFile-target and return alias record handle */
-
- extern pascal OSErr NewAlias(const FSSpec *fromFile, const FSSpec *target, AliasHandle *alias)
- TWOWORDINLINE(0x7002, 0xA823);
-
- /* create a minimal new alias for a target and return alias record handle */
-
- extern pascal OSErr NewAliasMinimal(const FSSpec *target, AliasHandle *alias)
- TWOWORDINLINE(0x7008, 0xA823);
-
- /* create a minimal new alias from a target fullpath (optional zone and server name) and return alias record handle */
-
- extern pascal OSErr NewAliasMinimalFromFullPath(short fullPathLength, const unsigned char *fullPath, ConstStr32Param zoneName, ConstStr31Param serverName, AliasHandle *alias)
- TWOWORDINLINE(0x7009, 0xA823);
- #define NewAliasMinimalFromFullpath NewAliasMinimalFromFullPath
-
-
- /* given an alias handle and fromFile, resolve the alias, update the alias record and return aliased filename and wasChanged flag. */
-
- extern pascal OSErr ResolveAlias(const FSSpec *fromFile, AliasHandle alias, FSSpec *target, Boolean *wasChanged)
- TWOWORDINLINE(0x7003, 0xA823);
-
- /* given an alias handle and an index specifying requested alias information type, return the information from alias record as a string. */
-
- extern pascal OSErr GetAliasInfo(const AliasHandle alias, AliasInfoType index, Str63 theString)
- TWOWORDINLINE(0x7007, 0xA823);
-
- /*
- given a file spec, return target file spec if input file spec is an alias.
- It resolves the entire alias chain or one step of the chain. It returns
- info about whether the target is a folder or file; and whether the input
- file spec was an alias or not.
- */
-
- extern pascal OSErr ResolveAliasFile(FSSpec *theSpec, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased)
- TWOWORDINLINE(0x700C, 0xA823);
- extern pascal OSErr FollowFinderAlias(const FSSpec *fromFile, AliasHandle alias, Boolean logon, FSSpec *target, Boolean *wasChanged)
- TWOWORDINLINE(0x700F, 0xA823);
-
- /*
- Low Level Routines
- given an alias handle and fromFile, match the alias and return aliased filename(s) and needsUpdate flag
- */
-
- extern pascal OSErr MatchAlias(const FSSpec *fromFile, unsigned long rulesMask, const AliasHandle alias, short *aliasCount, FSSpecArrayPtr aliasList, Boolean *needsUpdate, MatchAliasFilterUPP aliasFilter, void *yourDataPtr)
- TWOWORDINLINE(0x7005, 0xA823);
-
- /* given a fromFile-target pair and an alias handle, update the lias record pointed to by alias handle to represent target as the new alias. */
-
- extern pascal OSErr UpdateAlias(const FSSpec *fromFile, const FSSpec *target, AliasHandle alias, Boolean *wasChanged)
- TWOWORDINLINE(0x7006, 0xA823);
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-
-